package com.rla.domain.vo;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.rla.common.annotation.ExcelDictFormat;
import com.rla.common.convert.ExcelDictConvert;
import lombok.Data;


/**
 * 会员等级视图对象 vip_user_rule
 *
 * @author rla
 * @date 2025-08-30
 */
@Data
@ExcelIgnoreUnannotated
public class VipUserRuleVo {

    private static final long serialVersionUID = 1L;

    /**
     * 等级名称
     */
    @ExcelProperty(value = "等级名称")
    private String grade;

    /**
     * 等级编号
     */
    @ExcelProperty(value = "等级编号")
    private String gradeCode;

    /**
     * 有效期（0、永久有效，1、指定时间段有效）
     */
    @ExcelProperty(value = "有效期", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=、永久有效，1、指定时间段有效")
    private String expirationDate;

    /**
     * 开始时间
     */
    @ExcelProperty(value = "开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @ExcelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 升级方式（0、按照消费金额）
     */
    @ExcelProperty(value = "升级方式", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=、按照消费金额")
    private String upgradeWay;

    /**
     * 升级条件开始金额
     */
    @ExcelProperty(value = "升级条件开始金额")
    private Long startUpgradeCondition;

    /**
     * 升级条件结束金额
     */
    @ExcelProperty(value = "升级条件结束金额")
    private Long endUpgradeCondition;

    /**
     * 卡面地址
     */
    @ExcelProperty(value = "卡面地址")
    private String cardFaceUrl;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
